import request from '@/utils/request';

// 给角色分配权限
export function assignPerm(data) {
  return request({
    url: '/sys/role/assignPrem',
    method: 'put',
    data,
  });
}

/**
 * 新增角色
 * @param {*} data
 * @param {*} loadingOptions 加载选项 参见 https://element.eleme.cn/2.15/#/zh-CN/component/loading#options
 * @returns
 */
export function addRole(data, loadingOptions) {
  return request({
    url: '/sys/role',
    data,
    method: 'post',
    loadingOptions,
  });
}

/**
 * 修改角色
 * @param {*} data
 * @param {*} loadingOptions 加载选项 参见 https://element.eleme.cn/2.15/#/zh-CN/component/loading#options
 * @returns
 */
export function updateRole(data, loadingOptions) {
  return request({
    url: `/sys/role/${data.id}`,
    data,
    method: 'put',
    loadingOptions,
  });
}
/**
 * 获取角色详情
 * @param {*} id
 * @param {*} loadingOptions 加载选项 参见 https://element.eleme.cn/2.15/#/zh-CN/component/loading#options
 * @returns
 */
export function getRoleDetail(id, loadingOptions) {
  return request({
    url: `/sys/role/${id}`,
    loadingOptions,
  });
}

/**
 * 删除角色
 * @param {*} id 角色id
 * @returns
 */
export function deleteRole(id, cancelToken) {
  return request({
    url: `/sys/role/${id}`,
    method: 'delete',
    cancelToken,
  });
}

/**
 * 获取公司信息
 * @param {*} companyId 公司id 可以从用户信息里获取
 * @param {*} loadingOptions 加载选项 参见 https://element.eleme.cn/2.15/#/zh-CN/component/loading#options
 * @returns
 */
export function getCompanyInfo(companyId, loadingOptions) {
  return request({
    url: `/company/${companyId}`,
    loadingOptions,
  });
}

/**
 * 获取角色列表
 * @param {*} params 请求参数 { page: 当前页码, pagesize: 每页条数 }
 * @param {*} loadingOptions 加载选项 参见 https://element.eleme.cn/2.15/#/zh-CN/component/loading#options
 * @returns - { total, rows: [ { id, name, description } ] }
 */
export const getRoleList = (params, loadingOptions) =>
  request({
    url: '/sys/role',
    params,
    loadingOptions, // 将这个作为 axios 请求配置项传过去（自定义）
  });
